.namespace

.sub 'infix:=='
    .param pmc a
    .param pmc b
    $I0 = iseq a, b
    .return ($I0)
.end


.sub 'infix:!='
    .param pmc a
    .param pmc b
    $I0 = isne a, b
    .return ($I0)
.end


.sub 'infix:<='
    .param pmc a
    .param pmc b
    $I0 = isle a, b
    .return ($I0)
.end


.sub 'infix:>='
    .param pmc a
    .param pmc b
    $I0 = isge a, b
    .return ($I0)
.end


.sub 'infix:<'
    .param pmc a
    .param pmc b
    $I0 = islt a, b
    .return ($I0)
.end


.sub 'infix:>'
    .param pmc a
    .param pmc b
    $I0 = isgt a, b
    .return ($I0)
.end


.sub 'infix:^'
    .param num a
    .param num b
    $N0 = pow a, b
    .return ($N0)
.end

.sub 'infix:&&'
    .param pmc a
    .param pmc b
    $I0 = istrue a
    $I1 = istrue b
    $I0 = and $I0, $I1
    .return ($I0)
.end

.sub 'infix:||'
    .param pmc a
    .param pmc b
    $I0 = istrue a
    $I1 = istrue b
    $I0 = or $I0, $I1
    .return ($I0)
.end

.sub '__apply'
    .param pmc operator
    .param pmc operand
    $P0 = operator(operand)
    .return ($P0)
.end

.sub 'display'
    .param pmc n
    print n
    print "\n"
.end


# Local Variables:
#   mode: pir
#   fill-column: 100
# End:
# vim: expandtab shiftwidth=4:
